package com.peng.rpc.entity;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;

/**
 * 进行RPC远程调用需要四元组来唯一确定一个远程方法
 * @author Wonderson
 * @email wpp.ds@foxmail.com
 * @date 2022/2/27 18:38
 */
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
public class RpcRequest implements Serializable {

    //请求序列号
    private String requestId;

    //远程类名
    private String interfaceName;

    //远程方法名
    private String methodName;

    //远程参数列表
    private Object[] parameters;

    //远程参数类型
    private Class<?>[] paramTypes;

    /*
        是否是心跳包
     */
    private Boolean isHeartBeat;

}
